package com.zhai.boot.annotation;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

/**
 * 防重复提交
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface CacheLock {

    /**
     * key前缀
     */
    String prefix() default "";

    /**
     * key过期时长 默认 5 （此入参一定要用L结尾）
     */
    long expire() default 5L;
    /**
     * 超时时间单位 默认 秒
     */
    TimeUnit timeUnit() default TimeUnit.SECONDS;

    /**
     * Key分隔符 默认 :
     */
    String delimiter() default ":";

}
